import 'dart:convert';

import 'package:enterprise_v6_app/generated/json/base/json_field.dart';
import 'package:enterprise_v6_app/generated/json/education_quiz_result_entity.g.dart';

export 'package:enterprise_v6_app/generated/json/education_quiz_result_entity.g.dart';

@JsonSerializable()
class EducationQuizResultEntity {

	EducationQuizResultEntity();

	factory EducationQuizResultEntity.fromJson(Map<String, dynamic> json) => $EducationQuizResultEntityFromJson(json);
	late int answerCount = 0;
	late String companyCode = '';
	late String createBy = '';
	late String createById = '';
	late String createDate = '';
	late String deleted = '';
	late String id = '';
	late List<EducationQuizResultMainVOS> mainVOS = [];
	late int makeUpExamination = 0;
	late String planId = '';
	late int questionCount = 0;
	late List<EducationQuizResultQuestionList> questionList = [];
	late String questionValue = '';
	late int score = 0;
	late String textbookId = '';
	late String timeCount = '';
	late int totalScore = 0;
	late int unansweredCount = 0;
	late String updateBy = '';
	late String updateById = '';
	late String updateDate = '';
	late String userDepartmentId = '';
	late String userDepartmentName = '';
	late String userId = '';
	late String userName = '';
	late int wrongCount = 0;

	Map<String, dynamic> toJson() => $EducationQuizResultEntityToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class EducationQuizResultMainVOS {

	EducationQuizResultMainVOS();

	factory EducationQuizResultMainVOS.fromJson(Map<String, dynamic> json) => $EducationQuizResultMainVOSFromJson(json);
	late String duration = '';
	late List<EducationQuizResultMainVOSQuestionAllList> questionAllList = [];
	late int questionCount = 0;
	late List<EducationQuizResultMainVOSQuestionList> questionList = [];
	late List<EducationQuizResultMainVOSQuestionListOne> questionListOne = [];
	late int questionScore = 0;
	late String questionTypeDicId = '';
	late String timeCount = '';

	Map<String, dynamic> toJson() => $EducationQuizResultMainVOSToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class EducationQuizResultMainVOSQuestionAllList {

	EducationQuizResultMainVOSQuestionAllList();

	factory EducationQuizResultMainVOSQuestionAllList.fromJson(Map<String, dynamic> json) => $EducationQuizResultMainVOSQuestionAllListFromJson(json);
	late String companyCode = '';
	late String createBy = '';
	late String createById = '';
	late String createDate = '';
	late String deleted = '';
	late int duration = 0;
	late String id = '';
	late String myValidity = '';
	late String optionA = '';
	late String optionB = '';
	late String optionC = '';
	late String optionD = '';
	late String parsing = '';
	late String questionMain = '';
	late String questionTypeDicId = '';
	late String questionValidity = '';
	late int score = 0;
	late String textbookId = '';
	late String timeCount = '';
	late String updateBy = '';
	late String updateById = '';
	late String updateDate = '';

	Map<String, dynamic> toJson() => $EducationQuizResultMainVOSQuestionAllListToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class EducationQuizResultMainVOSQuestionList {

	EducationQuizResultMainVOSQuestionList();

	factory EducationQuizResultMainVOSQuestionList.fromJson(Map<String, dynamic> json) => $EducationQuizResultMainVOSQuestionListFromJson(json);
	late String id = '';
	late String optionA = '';
	late String optionB = '';
	late String optionC = '';
	late String optionD = '';
	late String questionMain = '';
	late String questionTypeDicId = '';
	late int score = 0;

	Map<String, dynamic> toJson() => $EducationQuizResultMainVOSQuestionListToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class EducationQuizResultMainVOSQuestionListOne {

	EducationQuizResultMainVOSQuestionListOne();

	factory EducationQuizResultMainVOSQuestionListOne.fromJson(Map<String, dynamic> json) => $EducationQuizResultMainVOSQuestionListOneFromJson(json);
	late String addDate = '';
	late String companyCode = '';
	late String createBy = '';
	late String createById = '';
	late String createDate = '';
	late String id = '';
	late String optionA = '';
	late String optionB = '';
	late String optionC = '';
	late String optionD = '';
	late String parsing = '';
	late String questionMain = '';
	late String questionTypeDicId = '';
	late String questionValidity = '';
	late int score = 0;
	late String textbookId = '';
	late int type = 0;
	late String updateBy = '';
	late String updateById = '';
	late String updateDate = '';
	late String userId = '';

	Map<String, dynamic> toJson() => $EducationQuizResultMainVOSQuestionListOneToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class EducationQuizResultQuestionList {

	EducationQuizResultQuestionList();

	factory EducationQuizResultQuestionList.fromJson(Map<String, dynamic> json) => $EducationQuizResultQuestionListFromJson(json);
	late String companyCode = '';
	late String createBy = '';
	late String createById = '';
	late String createDate = '';
	late String deleted = '';
	late int duration = 0;
	late String id = '';
	late String myValidity = '';
	late String optionA = '';
	late String optionB = '';
	late String optionC = '';
	late String optionD = '';
	late String parsing = '';
	late String questionMain = '';
	late String questionTypeDicId = '';
	late String questionValidity = '';
	late int score = 0;
	late String textbookId = '';
	late String timeCount = '';
	late String updateBy = '';
	late String updateById = '';
	late String updateDate = '';

	Map<String, dynamic> toJson() => $EducationQuizResultQuestionListToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}
